package com.fowo.api.model.carry.forward;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.validator.EnumsString;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 结账 导入导出辅助模型 */
@Getter
@Setter
public class CarryForwardExcelPo {

  @Size(max = 50, message = "名称长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "名称")
  private String test;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否当前会计期")
  private String isCurrentAccperiod;

  @Size(max = 50, message = "年月组合信息长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "年月组合信息")
  private String yearMonth;

  @DateTimeFormat("yyyy年MM月dd日")
  @ExcelProperty(value = "结束日期")
  private java.util.Date endDate;

  @DateTimeFormat("yyyy年MM月dd日")
  @ExcelProperty(value = "开始日期")
  private java.util.Date beginDate;

  @Size(max = 50, message = "会计月份长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "会计月份")
  private String accperiodMonth;

  @Size(max = 50, message = "所属会计期间长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属会计期间")
  private String pkAccperiod;

  @ExcelProperty(value = "所属组织")
  private Long pkOrg;

  @ExcelProperty(value = "租户id")
  private Long tenantId;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "描述")
  private String description;

  @Size(max = 50, message = "名称长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "名称")
  private String name;

  @EnumsString(
    value = { "未i结", "已结" },
    message = "利润的可用值为 “未i结”, “已结” 其中之一"
  )
  @Size(max = 50, message = "利润长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "利润")
  private String profit;

  @EnumsString(
    value = { "未结", "已结" },
    message = "成本的可用值为 “未结”, “已结” 其中之一"
  )
  @Size(max = 50, message = "成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "成本")
  private String cost;

  @EnumsString(
    value = { "未结账", "已结账", "部分结账" },
    message = "是否结账的可用值为 “未结账”, “已结账”, “部分结账” 其中之一"
  )
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否结账")
  private String isCheckout;
}
